Method and system for providing attribute browsing of video assets

ABSTRACT

An approach is provided for faceted browsing of video assets. A metadata file is parsed to categorize and rank attributes corresponding to a video asset, wherein the ranked attributes are based on a criterion. A set-top box provides attribute browsing to determine selection of the video asset.

BACKGROUND INFORMATION

The media industry has many avenues for providing users withentertainment sources, through television, film, gaming, etc. As thenumber of available broadcast channels, IPTV (Internet Protocoltelevision) sources, recorded programs, on-demand videos, and on-demandgames grow in number, users face the daunting task of trying to findprograms of interest. Locating an item of interest among the thousandsof items of content, in a television environment, poses a majorchallenge in that time spent searching undercuts the objective ofproviding the user with more variety. Reduction or streamlining ofcontent is unacceptable, particularly in light of the competitivelandscape of media delivery. However, the user's task of selectingdesired content becomes more onerous as the number and variety ofcontent continues to increase. For instance, content from IP sources canbe made available to television (TV) systems; the global Internet isreplete with user generated video streams, web casts, etc. Undoubtedly,the user interface must keep pace with the explosion of content.

Common methods of locating content include text search and categorybrowsing. Text search can accurately find content, but is slow andcumbersome with the current generation of remote control technologies.Category hierarchies, such as those employed in many currentvideo-on-demand (VOD) systems, are slow and often result in empty ornon-interesting sets of results. This causes users to “bob” through thegroupings: traversing deep into one area of the hierarchy, coming backup, traversing down yet another area. It is noted that users oftentrying to find a branch they had viewed previously before finallychoosing a program. This laborious process can easily discourage a userfrom selecting content all together; in a pay-per-view scenario, thisresults in loss of revenue for the service providers.

Therefore, there is a need for efficiently browsing through contentlistings.

BRIEF DESCRIPTION OF THE DRAWINGS

Various exemplary embodiments are illustrated by way of example, and notby way of limitation, in the figures of the accompanying drawings inwhich like reference numerals refer to similar elements and in which:

FIG. 1 is a diagram of a system capable of providing faceted browsing ofvideo assets, according with an exemplary embodiment;

FIG. 2 is a flowchart of a process for collapsing and ranking attributesin support of faceted browsing, according to an exemplary embodiment;

FIG. 3 is a diagram of a system for managing video assets, according toan exemplary embodiment;

FIG. 4 is a flowchart of a process for asset selection, according tovarious exemplary embodiments;

FIG. 5 is a diagram of a video asset file, according to an exemplaryembodiment; and

FIG. 6 is a diagram of a computer system that can be used to implementvarious exemplary embodiments.

DETAILED DESCRIPTION

In apparatus, method, and software for attribute browsing of videoassets are described. In the following description, for the purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the various exemplary embodiments. It isapparent, however, to one skilled in the art that the various exemplaryembodiments may be practiced without these specific details or with anequivalent arrangement. In other instances, well-known structures anddevices are shown in block diagram form in order to avoid unnecessarilyobscuring the exemplary embodiments.

Although the various embodiments of the present invention are describedwith respect to video assets, it is contemplated that these embodimentshave applicability to other media.

FIG. 1 is a diagram of a system capable of providing faceted browsing ofvideo assets, according with an exemplary embodiment. A video deliverysystem 100 includes a service provider system 101 serving multiplesubscriber sites 103 (of which only one is shown). The service providersystem 101 communicates with one or more content provider systems 105.It is contemplated that the service provider can also be the contentprovider in some instances. The content provider system 105, by way ofexample, maintains content as asset files 107 along with metadata files109 corresponding to various assets. In certain exemplary embodiments,these assets are video assets, which include on-demand videos, broadcastprograms, games, IPTV (Internet Protocol Television), digital videorecordings, broadcast television program guide data, etc. Such assetscan delivered to the service provider system 101 through any variety oftransmission facility 111.

The service provider system 101, in an exemplary embodiment, utilizes anasset parser 113 to parse the metadata files of the assets. The metadatacan be in form of an extensible Markup Language (XML) file, for example.The parser 113 categorizes attributes of the assets for storage in anasset database 115. This database 115 is accessible via an assetattribute server 117. Additionally, the asset database 115 isadministered by an asset administrator 119.

At the subscriber site 103, a user 121 can utilize a remote controller123 to interface a set-top box 125 to select the asset (e.g.,programming) for viewing by a display 127. The remote controller 123 canemploy infrared, radio frequency (RE) signals, or other wireless links(e.g., BLUETOOTH) to communicate with the set-top box 125. Additionally,it is contemplated any type of input interface can be used; e.g., akeypad on the set-top box 125, a game controller, a keyboard that isseparate from the set-top box 125, mouse, etc. The user can navigate alarge amount of content through an “attribute browsing” capability tofind a specific asset. The system 100, in an exemplary embodiment,applies “faceted browsing” techniques to the meta-data provided with thetypes of assets. This browsing capability, in certain embodiments, canbe implemented as part of an interactive program guide (IPG), or otherapplications.

“Faceted browsing” addresses the shortcomings of the conventional textsearch and category browse methods. Faceted browsing refers to a methodof searching through a set of objects based on attributes of thoseobjects (e.g., name, color, weight, size, etc.), and using thoseattributes to refine the scope of the objects that are shown. As anillustration of this concept, the selection of fruits and vegetables isdescribed. One could first select only items that are green, and furtherfrom the resulting set, select only items weighing more than a certainweight, e.g., 7 pounds. Accordingly, finding a watermelon in theremaining set would be much simpler than finding watermelon from allfruits and vegetables.

It is recognized that in the environment of the subscriber site 103,simplicity of the interface for the “television with remote control”environment is important in consumers' willingness to subscribe to moreand more content. Accordingly, the system 100 uses, in an exemplaryembodiment, the attributes describing the available assets to enable theviewer to compose complex searches in a step-wise fashion, with apresentation of possible attributes and matching video assets at eachstep of the process. This type of search process would not frustrate theviewer in that return of null set of matches is avoided. This searchprocess has the added advantage of being well-suited to the televisionuser-interface with its “highlight and click” paradigm. This browsingtechnique is supported through manipulation of the metadata (orattributes), as explained in FIG. 2.

FIG. 2 is a flowchart of a process for collapsing and ranking attributesin support of faceted browsing, according to an exemplary embodiment.The process involves categorizing (e.g., collapsing), as in step 201, alist of attributes across all the types (e.g., rating, price, genre,etc.), and ranking the attributes based on a criterion (step 203). Forexample, one criterion can specify the frequency of occurrence of theattribute. This yields a list of attributes from which the user mayselect from, as in step 205. Also, a resulting list of all assets thatmeet the filter requirements of the attributes that have been selected.This browsing mechanism also allows the viewer to “window shop” and toview all the video assets that are available within a selected set offilters. For example, if the viewer were to pick a category of “foreign”and then the country (e.g., “Italy”), the user may find assets, such asmovies in the Italian language, movies with Italian themes, music videosfrom Italian bands, and/or games set in Italy. This type of browsinghighlights what content the system 100 has to offer rather thanunavailable content.

As seen in FIG. 2, the process can be repeated using newly selectedattributes, as in step 207. Thereafter, the user is presented with alist of objects meeting the specified attributes, per step 209.

The above arrangement enables users to quickly browse large sets ofassets, and to narrow the collection of assets based on metadata typesof interest to the user.

FIG. 3 is a diagram of a system for managing video assets, according toan exemplary embodiment. The asset parser 113 of the system 100 includesa categorization module 301 for categorizing attributes of the assetsand a ranking module 303 to rank the attributes. The ranking module 303operates in conjunction with attribute rules or criteria applied to theattributes, such as frequency of occurrence. These rules or criteria arestored in an asset attribute rules database 305; such rules can bedetermined by the service provider through the administrator 119. Forthe purposes of illustration, assets are delivered to the transmissionfacility 111 with, for example, an XML file describing the assets.

As mentioned, the metadata 109 can be in form of an XML file, accordingto an exemplary embodiment. For instance, Tables 1 and 2 show exemplaryXML files, which the asset parser 113 can process.

TABLE 1 <asset>   <type>movie</type>  <content_filesize>522</content_filesize>   21 title>Tough MissionIII</title>   <genre>action</genre>   <MPAA_rating>PG-13</ MPAA_rating>  <production_year>2006</production_year>   <plot_summary>Dan Hunt comesface to face with a dangerous and     sadistic arms dealer while tryingto keep his identity secret in     order to protect his girlfriend,</plot_summary>   <director>J.J. Shoot</director>  <runtime>126</runtime>   <suggested_price>3.95</suggested_price>  <language>English</language>   <country>U.S.</country>   <actor>    <name>Action, Tom</name>     <role>Dan Hunt</role>   </actor></asset>

TABLE 2 <asset>   <type>sitcom</type>   <name>Funny Earl</name>  <episode_name>Mailbox</episode_name>   <VCHIP_rating>TV-PG</VCHIP_rating>   <description>A bored Catalina offers to help Earl withnumber 75 on     his list, cleaning out a mailbox he once used as atrash can.     </plot_summary>   <showdate>11/9/2006</showdate>  <start>8:00pm</start>   <minutes>30</minutes>  <suggested_price>0.00</suggested_price>  <high_definition>No</high_definition>   <actor>    <FirstName>Jason</FirstName>     <LastName>Fun</LastName>    <role>Earl Hiccups</role>   </actor> </asset>

The above XML files can be formulated in a download video asset file, asshown in FIG. 4. As described earlier, this file can include informationdescribing the video asset. A similar XML file can be provided for eachprogram available on broadcast television, for example. The file canspan a certain period (e.g., 2 weeks) of broadcast, and can be updatedperiodically (e.g., on a daily basis). This XML file can be used togenerate a program “grid” for providing information about each broadcastprogram, such as program name, episode name, V-Chip rating, actors, andplot summary. As new types of content become available, such as usergenerated content (e.g., IP sources), such content will also include XMLinformation detailing the new type of content.

The asset parser 119 parses the XML files to obtain a database of videoassets and the attributes associated with each one. For example,attributes such as “Content_Filesize” are ignored; and synonyms aresubstituted where appropriate, such as “Free” in place of“Suggested_Price 0.00.” Also, differences in naming conventions areproperly handled, such as “Action,Tom” in the video-on-demand files andFirstName=“Tom” MiddleName=“ ” LastName=“Action” in the broadcasttelevision file.

FIG. 4 is a diagram of a video asset file, according to an exemplaryembodiment. Section 401 specifies the fields for the asset, asenumerated in Table 3. Sections 403 and 405 provide values of theparticular assets.

TABLE 3 FIELD DESCRIPTION Type Category of video asset Name Title of thevideo asset Episode Episode information Year Year the asset was releasedRating Rating information (e.g., Motion Picture Association of America(MPAA) rating information) Date Date available for viewing Start Starttime Length Duration of video asset Price Cost of the video asset perviewing HD Specifies whether High Definition (HD) format Country Countrywhere asset was produced Actor Name of actors Role Role of actors PlotPlot summary

FIG. 5 is a flowchart of a process for asset selection, according tovarious exemplary embodiments. This scenario involves the user 121 usingthe remote control device 123 to invoke an asset selection option, as instep 501. The set-up box 107 then displays, as in step 503, assetinformation—e.g., list of objects (e.g., video titles) with associatedattributes. In an exemplary embodiment, two lists are presented: aninitial list of all attributes, sorted by frequency; and a list of allvideo titles, sorted alphabetically, for instance. Alternatively, thelist of titles can be sorted by a “popularity/time of day” relevancescore. The user 121 can subsequently select an attribute, per step 505.In other words, to find a video of interest, the user can scan the listof titles, or narrow the title list by “clicking” an attribute. Thatclicked (or selected) attribute is used as a filter to generate a new,smaller list of titles (in which all the titles have that attribute,sorted as mentioned above). It is noted that the list can be expanded atany time by “de-selection” of an attribute.

In turn, the set-top box 107, per step 507, retrieves contentinformation (e.g., list of titles) from the asset database 115corresponding to the selected attribute and displays the retrieved listof titles. From this new list of titles, a new list of attributes isgenerated—e.g., the attributes of all the titles in the new list, sortedby frequency. At this point, the user 121 can further narrow thelistings by selection of other attributes. The user can further refinethe list of titles by clicking another item in the list of attributes,or expand the list of titles by removing one of the attributes in thecurrent filter set. Each chosen attribute becomes a filter term,logically “AND-ed” together to refine the list of titles (and theassociated list of attributes of those titles). A “back” function can beadded to “undo” an added search term (attribute). In this way a user canquickly narrow a long list of titles using any attributes of interest.Further, because each successive list of attributes is derived from thejust-narrowed list of titles, clicking any attribute at any step alongthe navigation path will return at least one title.

To further illustrate faceted browsing, if in the initial list the user121 clicked on the attribute “PG,” the list of all titles would bereplaced by only those titles having as one of their attributes an MPAArating of “PG.” Additionally, the list of attributes would be replacedby a list of all the attributes of this reduced set of PG titles (e.g.,ordered by frequency). The selection of an attribute, for example, couldspecify a maximum or minimum value. Using this example, selecting PG mayresult in a result set that contains everything PG or less, including Gand TV-Y, etc.

Moreover, some of these “PG” titles can be tagged as a “Comedy” in theirXML files, such that “Comedy” would appear in this new attribute list.If the user clicks “Comedy” in this attribute list, then the list of alltitles would be replaced by only those titles having both attributes“PG” and “Comedy.” The attribute list would be replaced by a list of allthe remaining attributes of this new set of titles.

It is noted that these “PG comedies” can be tagged as High-Definition(HD) in their XML files, so “High-Definition” would appear in the newattribute list. By clicking “High-Definition” the user will receive alist of “PG comedies in High-Definition”, etc.

At some point during the browsing process, the list of titles will benarrowed to a usable or workable number of entries. In step 509, theuser 121 can highlight a selection using the remote control device 123and “clicks” on the title. In step 511, the set-top box requests theselected asset. Alternatively, by selecting an item in the title list,the user 121 can be directed to other options, such as watching apreview, paying for viewing rights (for video-on-demand content),setting the DVR to record (for broadcast), etc.

This searching capability (i.e., attribute browsing) permits findingniche content more quickly than the traditional text search method.

The above described processes relating to faceted browsing may beimplemented via software, hardware (e.g., general processor, DigitalSignal Processing (DSP) chip, an Application Specific Integrated Circuit(ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware or acombination thereof. Such exemplary hardware for performing thedescribed functions is detailed below.

FIG. 6 illustrates a computer system 600 upon which an exemplaryembodiment can be implemented. For example, the processes describedherein can be implemented using the computer system 600. The computersystem 600 includes a bus 601 or other communication mechanism forcommunicating information and a processor 603 coupled to the bus 601 forprocessing information. The computer system 600 also includes mainmemory 605, such as a random access memory (RAM) or other dynamicstorage device, coupled to the bus 601 for storing information andinstructions to be executed by the processor 603. Main memory 605 canalso be used for storing temporary variables or other intermediateinformation during execution of instructions by the processor 603. Thecomputer system 600 may further include a read only memory (ROM) 607 orother static storage device coupled to the bus 601 for storing staticinformation and instructions for the processor 603. A storage device609, such as a magnetic disk or optical disk, is coupled to the bus 601for persistently storing information and instructions.

The computer system 600 may be coupled via the bus 601 to a display 611,such as a cathode ray tube (CRT), liquid crystal display, active matrixdisplay, or plasma display, for displaying information to a computeruser. A TV interface 612 can optionally be provided to output to atelevision set. An input device 613, such as a keyboard includingalphanumeric and other keys, is coupled to the bus 601 for communicatinginformation and command selections to the processor 603. Another type ofuser input device is a cursor control 615, such as a mouse, a trackball,or cursor direction keys, for communicating direction information andcommand selections to the processor 603 and for controlling cursormovement on the display 611.

According to one embodiment of the invention, the processes describedherein are performed by the computer system 600, in response to theprocessor 603 executing an arrangement of instructions contained in mainmemory 605. Such instructions can be read into main memory 605 fromanother computer-readable medium, such as the storage device 609.Execution of the arrangement of instructions contained in main memory605 causes the processor 603 to perform the process steps describedherein. One or more processors in a multi-processing arrangement mayalso be employed to execute the instructions contained in main memory605. In alternative embodiments, hard-wired circuitry may be used inplace of or in combination with software instructions to implement theexemplary embodiment. Thus, exemplary embodiments are not limited to anyspecific combination of hardware circuitry and software.

The computer system 600 also includes a communication interface 617coupled to bus 601. The communication interface 617 provides a two-waydata communication coupling to a network link 619 connected to a localnetwork 621. For example, the communication interface 617 may be adigital subscriber line (DSL) card or modem, an integrated servicesdigital network (ISDN) card, a cable modem, a telephone modem, or anyother communication interface to provide a data communication connectionto a corresponding type of communication line. As another example,communication interface 617 may be a local area network (LAN) card (e.g.for Ethernet™ or an Asynchronous Transfer Model (ATM) network) toprovide a data communication connection to a compatible LAN. Wirelesslinks can also be implemented. In any such implementation, communicationinterface 617 sends and receives electrical, electromagnetic, or opticalsignals that carry digital data streams representing various types ofinformation. Further, the communication interface 617 can includeperipheral interface devices, such as a Universal Serial Bus (USB)interface, a PCMCIA (Personal Computer Memory Card InternationalAssociation) interface, etc. Although a single communication interface617 is depicted in FIG. 6, multiple communication interfaces can also beemployed.

The network link 619 typically provides data communication through oneor more networks to other data devices. For example, the network link619 may provide a connection through local network 621 to a hostcomputer 623, which has connectivity to a network 625 (e.g. a wide areanetwork (WAN) or the global packet data communication network nowcommonly referred to as the “Internet”) or to data equipment operated bya service provider. The local network 621 and the network 625 both useelectrical, electromagnetic, or optical signals to convey informationand instructions. The signals through the various networks and thesignals on the network link 619 and through the communication interface617, which communicate digital data with the computer system 600, areexemplary forms of carrier waves bearing the information andinstructions.

The computer system 600 can send messages and receive data, includingprogram code, through the network(s), the network link 619, and thecommunication interface 617. In the Internet example, a server (notshown) might transmit requested code belonging to an application programfor implementing an exemplary embodiment through the network 625, thelocal network 621 and the communication interface 617. The processor 603may execute the transmitted code while being received and/or store thecode in the storage device 609, or other non-volatile storage for laterexecution. In this manner, the computer system 600 may obtainapplication code in the form of a carrier wave.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing instructions to the processor 603 forexecution. Such a medium may take many forms, including but not limitedto non-volatile media, volatile media, and transmission media.Non-volatile media include, for example, optical or magnetic disks, suchas the storage device 609. Volatile media include dynamic memory, suchas main memory 605. Transmission media include coaxial cables, copperwire and fiber optics, including the wires that comprise the bus 601.Transmission media can also take the form of acoustic, optical, orelectromagnetic waves, such as those generated during radio frequency(RF) and infrared (IR) data communications. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM,CDRW, DVD, any other optical medium, punch cards, paper tape, opticalmark sheets, any other physical medium with patterns of holes or otheroptically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM,any other memory chip or cartridge, a carrier wave, or any other mediumfrom which a computer can read.

Various forms of computer-readable media may be involved in providinginstructions to a processor for execution. For example, the instructionsfor carrying out at least part of the various exemplary embodiments mayinitially be borne on a magnetic disk of a remote computer. In such ascenario, the remote computer loads the instructions into main memoryand sends the instructions over a telephone line using a modem. A modemof a local computer system receives the data on the telephone line anduses an infrared transmitter to convert the data to an infrared signaland transmit the infrared signal to a portable computing device, such asa personal digital assistant (PDA) or a laptop. An infrared detector onthe portable computing device receives the information and instructionsborne by the infrared signal and places the data on a bus. The busconveys the data to main memory, from which a processor retrieves andexecutes the instructions. The instructions received by main memory canoptionally be stored on storage device either before or after executionby processor.

In the preceding specification, various preferred embodiments have beendescribed with reference to the accompanying drawings. It will, however,be evident that various modifications and changes may be made thereto,and additional embodiments may be implemented, without departing fromthe broader scope of the invention as set forth in the claims that flow.The specification and the drawings are accordingly to be regarded in anillustrative rather than restrictive sense.

What is claimed is:
 1. A method comprising: categorizing, by aprocessor, a first set of attributes associated with a first list ofobjects, wherein each of the objects represents a video asset that isassociated with one or more of the attributes of the first set; ranking,by the processor, the first set of attributes according to a criterionassociated with one or more characteristics of the attributes, whereinthe criterion specifies a frequency of occurrence of an attribute of thefirst set of attributes; presenting the first list of objects andassociated attributes; receiving a first input indicating selection ofat least one of the attributes of the first set; collapsing the firstlist of objects into a second list of objects consisting of a subset ofthe first list of objects, wherein the subset consists of the objectsassociated with the selected attributes; generating, by the processor, asecond set of attributes based on the second list of objects, the secondset of attributes comprising a non-selected attribute of the first setof attributes, wherein each of the attributes of the second set ofattributes is associated with at least one object of the second list ofobjects; ranking, by the processor, the second set of attributesaccording to the criterion, wherein the criterion specifies a frequencyof occurrence of an attribute of the second set of attributes;presenting the second list of objects and associated attributes inresponse to the first input; receiving a second input indicatingselection of one of the objects in the second list; and retrieving thevideo asset corresponding to the one selected object, wherein theselection of the at least one of the attributes of the first set ofattributes specifies a maximum and/or minimum value.
 2. A methodaccording to claim 1, further comprising: receiving a metadata fileincluding the first set of attributes, wherein the categorizing of thefirst set of attributes includes parsing the metadata.
 3. A methodaccording to claim 2, wherein the file has an extensible markup language(XML) format.
 4. A method according to claim 2, wherein the file isretrieved on a periodic basis.
 5. A method according to claim 1, whereinthe video asset includes a video file, a broadcast program, a videogame, or a combination thereof.
 6. A method according to claim 1,wherein the first input is provided by a user via a remote controldevice.
 7. An apparatus comprising: a processor configured to categorizeand rank a first set of attributes based on a criterion associated withone or more characteristics of the attributes, the first set ofattributes being associated with a first list of objects, and to presentthe first list of objects and associated attributes, wherein each of theobjects represents a video asset that is associated with one or more ofthe attributes of the first set and the criterion specifies a frequencyof occurrence of an attribute of the first set of attributes; and aninput interface configured to receive a first input indicating selectionof at least one of the attributes of the first set; wherein theprocessor is further configured to, collapse the first list of objectsinto a second list of objects consisting of a subset of the first listof objects, wherein the subset consists of the objects associated withthe selected attributes, generate a second set of attributes based onthe second list of objects, the second set of attributes comprising anon-selected attribute of the first set of attributes, wherein each ofthe attributes of the second set of attributes is associated with atleast one object of the second list of objects, rank the second set ofattributes according to the criterion, wherein the criterion specifies afrequency of occurrence of an attribute of the second set of attributes,and present the second list of objects and associated attributes inresponse to the first input; and wherein the input interface is furtherconfigured to receive a second input indicating selection of one of theobjects in the second list, in response to which the processor retrievesthe video asset corresponding to the one selected object, wherein theselection of the at least one of the attributes of the first set ofattributes specifies a maximum and/or minimum value.
 8. An apparatusaccording to claim 7, wherein the processor is further configured tocommunicate with a server to obtain a metadata file that includes thefirst set of attributes, and the categorizing of the first set ofattributes includes parsing the metadata.
 9. An apparatus according toclaim 8, wherein the file has an extensible markup language (XML)format.
 10. An apparatus according to claim 8, wherein the file isretrieved on a periodic basis.
 11. An apparatus according to claim 7,wherein the video asset includes a video file, a broadcast program, avideo game, or a combination thereof.
 12. An apparatus according toclaim 7, wherein the input interface is configured to receive a signalrepresenting the first input from a remote control device.
 13. A systemcomprising: an asset parser configured to parse a metadata file tocategorize and rank a first set of attributes based on a criterionassociated with one or more characteristics of the attributes, the firstset of attributes being associated with a first list of objects, whereineach of the objects represents a video asset that is associated with oneor more of the attributes of the first set and the criterion specifies afrequency of occurrence of an attribute of the first set of attributes;an asset server configured to communicate with the asset parser and totransmit the first list of objects and the associated ranked attributes;and a set-top box, wherein the set-top box is configured to present thefirst list of objects and associated ranked attributes; wherein,responsive to a first input indicating a selection of at least one ofthe attributes of the first set, the asset parser is further configuredto, collapse the first list of objects into a second list of objectsconsisting of a subset of the first list of objects, wherein the subsetconsists of the objects associated with the selected attributes,generate a second set of attributes based on the second list of objects,the second set of attributes comprising a non-selected attribute of thefirst set of attributes, wherein each of the attributes of the secondset of attributes is associated with at least one object of the secondlist of objects, and rank the second set of attributes according to thecriterion, wherein the criterion specifies a frequency of occurrence ofan attribute of the second set of attributes; wherein the asset serveris further configured to transmit the second list of objects andassociated ranked attributes to the set-top box; and wherein the set-topbox is further configured to present the second list of objects andassociated ranked attributes, and, responsive to a second inputindicating a selection of one of the objects in the second list, toretrieve the video asset corresponding to the one selected object,wherein the selection of the at least one of the attributes of the firstset of attributes specifies a maximum and/or minimum value.
 14. A systemaccording to claim 13, wherein the metadata file has an extensiblemarkup language (XML) format.
 15. A system according to claim 13,wherein the video asset includes a video file, a broadcast program, avideo game, or a combination thereof.
 16. A system according to claim13, wherein the asset parser receives the metadata file from a contentprovider system that maintains the video asset.
 17. A system accordingto claim 13, further comprising: a rules database configured to store aplurality of rules for ranking the attributes.